package com.situ.admin.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.github.pagehelper.PageInfo;
import com.situ.admin.bean.APIResult;
import com.situ.admin.bean.GoodsSort;
import com.situ.admin.service.GoodsSortService;

@RestController
@RequestMapping("/api/goodsSorts")
@CrossOrigin(origins = { "*" })
public class GoodsSortController {

	@Autowired
	private GoodsSortService goodsSortService;

	/**
	 * 
	 * @author: JavaSiegeLoin(Gang)
	 * @创建日期: 2021年10月13日 下午9:47:44
	 * @Title: add
	 * @throws:
	 * @类描述-Description:添加
	 */
	@PostMapping
	public APIResult add(@RequestBody GoodsSort goodsSort) {
		goodsSort = goodsSortService.add(goodsSort);

		return APIResult.created(goodsSort);
	}

	/**
	 * 
	 * @author: JavaSiegeLoin(Gang)
	 * @创建日期: 2021年10月13日 下午10:00:16
	 * @Title: remove
	 * @throws:
	 * @类描述-Description:删除
	 */
	@DeleteMapping
	public APIResult remove(Integer id) {
		GoodsSort goodsSort = goodsSortService.remove(id);

		if (goodsSort != null) {
			return APIResult.ok(goodsSort);
		} else {
			return APIResult.notFound("要删除的资源不存在");
		}

	}

	/**
	 * 
	 * @author: JavaSiegeLoin(Gang)
	 * @创建日期: 2021年10月13日 下午9:59:38
	 * @Title: remove
	 * @throws:
	 * @类描述-Description:修改
	 */
	@PutMapping
	public APIResult edit(@RequestBody GoodsSort goodsSort) {
		goodsSort = goodsSortService.edit(goodsSort);
		if (goodsSort != null) {
			return APIResult.created(goodsSort);
		} else {
			return APIResult.notFound("要修改的资源不存在");
		}

	}

	/**
	 * 
	 * 
	 * @author: JavaSiegeLoin(Gang)
	 * @创建日期: 2021年10月13日 下午9:56:45
	 * @Title: get
	 * @throws:
	 * @类描述-Description: name 模糊查询、parent传递0 查询所有分类、parent传递null 查询一级分类 status传递null
	 *                   查询所有
	 */
	@GetMapping
	public APIResult get(Integer page, Integer limit, GoodsSort goodsSort) {
		PageInfo pageInfo = goodsSortService.getByPage(page, limit, goodsSort);
		if (pageInfo == null || pageInfo.getTotal() == 0) {
			return APIResult.notFound("没有查询到任何数据");
		} else {
			return APIResult.ok(pageInfo);
		}
	}

}
